﻿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        var obj = {
            name: `张三`,
            run: function () {
                console.log("这是run");
                return this; //this就是obj
            },
            run1: function () {
                console.log("这是run111");
                return this; //this就是obj
            },
            run2: function () {
                console.log("这是run222");
                return this; //this就是obj
            },
            run3: function () {
                console.log("这是run333");
                return this; //this就是obj
            },
            run4: function () {
                console.log("这是run444");
                return this; //this就是obj
            },

        }
        // obj.run();
        // obj.run1();
        // obj.run2();
        // var a = obj.run();
        // console.log(a); //obj
        // a.run1();
        // 链式调用 函数会从左向右一个个执行
        // 下一个函数是由上一个函数的返回值调用的
        // obj.run().run1();

        obj.run().run2().run4().run().name = "lili";
        console.log(obj.name); // lili


        // var num = 10 + 20;  //num得到的是一个表达式的运行结果
        // console.log(num); //30
        // console.log(10 + 20); //30

         var test = function(){
             var n = 10;
             var m = 20;
             // 返回一个结果
             return n + m;
         }
          console.log(test); //function  得到函数本身

         test();  //执行函数体

        // var nn = test(); //var n = 10;var m = 20;
        // console.log(nn); //30

        // console.log(test()); // 30
    </script>
</body>
</html>